from pydantic import BaseModel
from typing import Optional

class ConcreteCreate(BaseModel):
    mp_num: str
    baocunshijian: str
    remark_1: str
    projectname: Optional[str] = None
    strength_grade: str
    place_part: str
    remark_2: str
    volume: float
    stir_time: int
    
    # 实际骨料
    stone_1: Optional[float] = None
    stone_2: Optional[float] = None
    stone_3: Optional[float] = None
    stone_4: Optional[float] = None
    stone_5: Optional[float] = None
    stone_6: Optional[float] = None
    stone_7: Optional[float] = None
    
    # 理论骨料
    th_stone_1: Optional[float] = None
    th_stone_2: Optional[float] = None
    th_stone_3: Optional[float] = None
    th_stone_4: Optional[float] = None
    th_stone_5: Optional[float] = None
    th_stone_6: Optional[float] = None
    th_stone_7: Optional[float] = None
    
    # 矿粉
    kf_1: Optional[float] = None
    kf_2: Optional[float] = None
    th_kf_1: Optional[float] = None
    th_kf_2: Optional[float] = None
    
    # 水
    water_1: Optional[float] = None
    water_2: Optional[float] = None
    th_water_1: Optional[float] = None
    th_water_2: Optional[float] = None
    
    # 水泥
    sn_1: Optional[float] = None
    sn_2: Optional[float] = None
    sn_3: Optional[float] = None
    th_sn_1: Optional[float] = None
    th_sn_2: Optional[float] = None
    th_sn_3: Optional[float] = None
    
    # 砂子
    sz_1: Optional[float] = None
    sz_2: Optional[float] = None
    sz_3: Optional[float] = None
    th_sz_1: Optional[float] = None
    th_sz_2: Optional[float] = None
    th_sz_3: Optional[float] = None
    
    # 煤灰
    mh_1: Optional[float] = None
    mh_2: Optional[float] = None
    th_mh_1: Optional[float] = None
    th_mh_2: Optional[float] = None
    
    # 减水剂
    jsj_1: Optional[float] = None
    jsj_2: Optional[float] = None
    th_jsj_1: Optional[float] = None
    th_jsj_2: Optional[float] = None
    
    # 外加剂
    wjj_1: Optional[float] = None
    wjj_2: Optional[float] = None
    wjj_3: Optional[float] = None
    wjj_4: Optional[float] = None
    th_wjj_1: Optional[float] = None
    th_wjj_2: Optional[float] = None
    th_wjj_3: Optional[float] = None
    th_wjj_4: Optional[float] = None

    class Config:
        from_attributes = True 